Method and apparatus for determining a selection option

ABSTRACT

A method includes, displaying a plurality of selection options on a touch-sensitive display, detecting a touch at a touch location on the touch-sensitive display, determining a touch area based on the touch location, determining an overlap value based on a size of the touch area that overlaps a selection area associated with a selection option, and on a size of the selection area, and identifying a selection option based on the determined overlap value.

FIELD OF THE TECHNOLOGY

The present disclosure relates to electronic devices, including but notlimited to, portable electronic devices having touch-sensitive displaysand their control.

BACKGROUND

Electronic devices, including portable electronic devices, have gainedwidespread use and may provide a variety of functions including, forexample, telephonic, electronic messaging and other personal informationmanager (PIM) application functions. Portable electronic devicesinclude, for example, several types of mobile stations such as simplecellular telephones, smart phones, wireless personal digital assistants(PDAs), and laptop computers with wireless 802.11 or Bluetoothcapabilities.

Portable electronic devices such as PDAs or smart telephones aregenerally intended for handheld use and ease of portability. Smallerdevices are generally desirable for portability. A touch-sensitivedisplay, also known as a touchscreen display, is particularly useful onhandheld devices, which are small and have limited space for user inputand output. The information displayed on the touch-sensitive displaysmay be modified based on the functions and operations being performed.With continued demand for decreased size of portable electronic devices,touch-sensitive displays continue to decrease in size.

Improvements in devices with touch-sensitive displays are desirable.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a portable electronic device in accordancewith the disclosure.

FIG. 2 is a front view of an example of a smartphone in accordance withthe disclosure.

FIG. 3 is a front view of an example of a tablet computer in accordancewith the disclosure.

FIG. 4 illustrates an example of a touch area in accordance with thedisclosure.

FIG. 5 illustrates an example of overlap values for selection fromselection options of different sizes on an electronic device inaccordance with the disclosure.

FIG. 6 is a flowchart illustrating a method of selecting a selectionoption based on overlap values in accordance with the disclosure.

FIG. 7 illustrates an example showing an obscured selection option on anelectronic device in accordance with the disclosure.

FIG. 8 shows obscured selection options and visible areas in accordancewith the disclosure.

FIG. 9 illustrates an electronic device showing weighting when selectingfrom multiple selection options in accordance with the disclosure.

FIG. 10 is a flowchart illustrating a method of selecting a selectionoption based on overlap values, overlapping selection options, andweighting in accordance with the disclosure.

DETAILED DESCRIPTION

The following describes an apparatus for and method of determining aselection of a selection option based on received input.

For simplicity and clarity of illustration, reference numerals may berepeated among the figures to indicate corresponding or analogouselements. Numerous details are set forth to provide an understanding ofthe examples described herein. The examples may be practiced withoutthese details. In other instances, well-known methods, procedures, andcomponents are not described in detail to avoid obscuring the examplesdescribed. The description is not to be considered as limited to thescope of the examples described herein.

The disclosure generally relates to an electronic device, such as aportable electronic device or non-portable electronic device. Examplesof portable electronic devices include mobile, or handheld, wirelesscommunication devices such as pagers, cellular phones, cellularsmart-phones, wireless organizers, personal digital assistants,wirelessly enabled notebook computers, tablet computers, mobile internetdevices, electronic navigation devices, and so forth. The portableelectronic device may be a portable electronic device without wirelesscommunication capabilities, such as handheld electronic games, digitalphotograph albums, digital cameras, media players, e-book readers, andso forth. Examples of non portable electronic devices include desktopcomputers, electronic white boards, smart boards utilized forcollaboration, built-in monitors or displays in furniture or appliances,and so forth.

A block diagram of an example of an electronic device 100 is shown inFIG. 1. The electronic device 100 includes multiple components, such asa processor 102 that controls the overall operation of the electronicdevice 100. Communication functions, including data and voicecommunications, are performed through a communication subsystem 104.Data received by the electronic device 100 is decompressed and decryptedby a decoder 106. The communication subsystem 104 receives messages fromand sends messages to a wireless network 150. The wireless network 150may be any type of wireless network, including, but not limited to, datawireless networks, voice wireless networks, and networks that supportboth voice and data communications. A power source 142, such as one ormore rechargeable batteries or a port to an external power supply,powers the electronic device 100.

The processor 102 interacts with other components, such as a RandomAccess Memory (RAM) 108, memory 110, a touch-sensitive display 118, oneor more actuators 120, one or more force sensors 122, an auxiliaryinput/output (I/O) subsystem 124, a data port 126, a speaker 128, amicrophone 130, short-range communications 132 and other devicesubsystems 134. The touch-sensitive display 118 includes a display 112and touch sensors 114 that are coupled to at least one controller 116that is utilized to interact with the processor 102. Input via agraphical user interface is provided via the touch-sensitive display118. Information, such as text, characters, symbols, images, icons, andother items that may be displayed or rendered on a electronic device, isdisplayed on the touch-sensitive display 118 via the processor 102. Theprocessor 102 may also interact with an accelerometer 136 that may beutilized to detect direction of gravitational forces or gravity-inducedreaction forces.

To identify a subscriber for network access, the electronic device 100may utilize a Subscriber Identity Module or a Removable User IdentityModule (SIM/RUIM) card 138 for communication with a network, such as thewireless network 150. Alternatively, user identification information maybe programmed into memory 110.

The electronic device 100 includes an operating system 146 and softwareprograms, applications, or components 148 that are executed by theprocessor 102 and are typically stored in a persistent, updatable storesuch as the memory 110. Additional applications or programs may beloaded onto the electronic device 100 through the wireless network 150,the auxiliary I/O subsystem 124, the data port 126, the short-rangecommunications subsystem 132, or any other suitable subsystem 134.

A received signal such as a text message, an e-mail message, or web pagedownload is processed by the communication subsystem 104 and input tothe processor 102. The processor 102 processes the received signal foroutput to the display 112 and/or to the auxiliary I/O subsystem 124. Asubscriber may generate data items, for example e-mail messages, whichmay be transmitted over the wireless network 150 through thecommunication subsystem 104. For voice communications, the overalloperation of the electronic device 100 is similar. The speaker 128outputs audible information converted from electrical signals, and themicrophone 130 converts audible information into electrical signals forprocessing.

The touch-sensitive display 118 may be any suitable touch-sensitivedisplay, such as a capacitive, resistive, infrared, surface acousticwave (SAW) touch-sensitive display, strain gauge, optical imaging,dispersive signal technology, acoustic pulse recognition, and so forth.A capacitive touch-sensitive display includes one or more capacitivetouch sensors 114. The capacitive touch sensors may comprise anysuitable material, such as indium tin oxide (ITO).

One or more touches, also known as touch contacts or touch events, maybe detected by the touch-sensitive display 118. The processor 102 maydetermine attributes of the touch, including a location of the touch.Touch location data may include data for an area of contact or data fora single point of contact, such as a point at or near a center of thearea of contact. The location of a detected touch may include x and ycomponents, e.g., horizontal and vertical components, respectively, withrespect to one's view of the touch-sensitive display 118. For example,the x location component may be determined by a signal generated fromone touch sensor, and the y location component may be determined by asignal generated from another touch sensor. A touch may be detected fromany suitable input member, such as a finger, thumb, appendage, or otherobjects, for example, a stylus (active or passive), pen, or otherpointer, based on the nature of the touch-sensitive display 118.Multiple simultaneous touches may be detected.

One or more gestures may also be detected by the touch-sensitive display118. A gesture, such as a swipe, also known as a flick, is a particulartype of touch on a touch-sensitive display 118 and may begin at anorigin point and continue to an end point, for example, a concluding endof the gesture. A gesture may be identified by attributes of thegesture, including the origin point, the end point, the distancetravelled, the duration, the velocity, and the direction, for example. Agesture may be long or short in distance and/or duration. Two points ofthe gesture may be utilized to determine a direction of the gesture. Agesture may also include a hover. A hover may be a touch at a locationthat is generally unchanged over a period of time or is associated withthe same selection item for a period of time.

The optional actuator(s) 120 may be depressed or activated by applyingsufficient force to the touch-sensitive display 118 to overcome theactuation force of the actuator 120. The actuator(s) 120 may be actuatedby pressing anywhere on the touch-sensitive display 118. The actuator(s)120 may provide input to the processor 102 when actuated. Actuation ofthe actuator(s) 120 may result in provision of tactile feedback.

Optional force sensors 122 may be disposed in conjunction with thetouch-sensitive display 118 to determine or react to forces applied tothe touch-sensitive display 118. The force sensor 122 may be disposed inline with a piezo actuator 120. The force sensors 122 may beforce-sensitive resistors, strain gauges, piezoelectric orpiezoresistive devices, pressure sensors, quantum tunneling composites,force-sensitive switches, or other suitable devices.

The touch-sensitive display 118 includes a display area in whichinformation may be displayed, and a non-display area extending aroundthe periphery of the display area. The display area generallycorresponds to the area of the display 112. Information is not displayedin the non-display area by the display, which non-display area isutilized to accommodate, for example, electronic traces or electricalconnections, adhesives or other sealants, and/or protective coatingsaround the edges of the display area. The non-display area may bereferred to as an inactive area and is not part of the physical housingor frame of the electronic device. Typically, no pixels of the displayare in the non-display area, thus no image can be displayed by thedisplay 112 in the non-display area. Optionally, a secondary display,not part of the primary display 112, may be disposed under thenon-display area. Touch sensors may be disposed in the non-display area,which touch sensors may be extended from the touch sensors in thedisplay area or distinct or separate touch sensors from the touchsensors in the display area. A touch, including a gesture, may beassociated with the display area, the non-display area, or both areas.The touch sensors may extend across substantially the entire non-displayarea or may be disposed in only part of the non-display area.

A front view of an example electronic device 100 that is a portableelectronic device is illustrated in FIG. 2. A front view of an exampleelectronic device 100 that is a tablet computer 301 is illustrated inFIG. 3.

Selection options may include virtual or displayed elements. When atouch associated with a selection option is detected, the device 100performs an action associated with the selection option. Examples ofselection options include buttons, scrollbars, text input fields,checkboxes, and keys representing characters or functions on a virtualkeyboard. Representations of selection options may be displayed on thedisplay 112 of an electronic device 100. Selection options may alsoinclude interactive areas that have no visual indication orrepresentation, but may provide input that is detected by the device100.

A selection area is associated with a selection option. When a touchlocation is within the selection area for a selection option, theselection option is identified for processing in association with thetouch location. When a selection option is displayed on the display 112,the associated selection area may have a different size and shape thanthe displayed representation of the selection option or the same sizeand shape may be utilized.

Touch sensors 114 detect touch input, thus providing the device 100 withan interface to identify displayed selection options based on detectedtouch locations. The resolution of the touch sensors 114 in electronicdevices 100 may be an imprecise indication of the actual location of thetouch. The touch location has an associated amount of uncertainty, forexample 1 to 9 mm based on the spacing of touch sensors 114 and otherfactors.

FIG. 4 shows a touch location 450 and a corresponding touch area 460. Atouch area 460 may compensate for inherent imprecision of determinationof a touch location 450.

The touch area 460 may be derived from touch data received from thetouch sensors 114 for a detected touch. A touch area 460 mayalternatively be a virtual area around the touch location 450, such asthe touch area 460.

The size of the virtual touch area 460 may be based on knowncharacteristics, e.g., uncertainties and inaccuracies, of the touchsensors 114. For example, when the resolution for a touch location 450is 6 mm, the device 100 may generate a 6 mm radius virtual touch area460 around a touch location to compensate.

Although a circle is utilized for the touch area 460 in the examplesherein, other shapes may be utilized. For example, a custom shape thatmore accurately represents the contact shape of a finger or stylustouching a touch-sensitive display may be utilized. Other input data maydetermine the shape or size of the touch area 460. For example, theshape of the touch area 460 may be angled based on orientationinformation received from the accelerometer 136 because the orientationof the device 100 may affect the angle of contact with thetouch-sensitive display 118.

For example, in FIG. 4, a touch location 450 is detected and anassociated circular touch area 460 is generated. When the touch location450 changes to another location, information may be provided as to theangle of the touch input. Adjusting for the angle may reduce uncertaintyof touch location perpendicular to direction of change of location ofthe touch. The touch area may optionally be updated to reflect thedirection of change.

In the example of FIG. 5, a plurality of selection options 510, 520, 530are displayed on the touch-sensitive display 118. Photos 510, 530 andtheir associated selection areas are relatively large compared to theselection area and display area of a nearby “Delete?” checkbox 520. Thedevice 100 detects a touch at a touch location 540 near the selectionareas 510, 520, 530, but not within any one selection area. In thisexample, the device 100 generates a virtual touch area 560 todisambiguate between three selection options 510, 520, 530.

As described in greater detail below, an area of overlap between thetouch area 560 and the selection areas of the selection options isdetermined. An overlap value is determined for one or more of theselection areas based on the areas of overlap and optionally the size ofthe associated selection area. The selection option having the largestoverlap value is identified.

In this example, the area of overlap 515 between a first selection area510 and the touch area 560 is greater than the area of overlap 525between a selectable checkbox 520 and the touch area 560 and is alsogreater than the area of overlap 535 between a second selection area 530and the touch area 560.

The overlap value may be determined by dividing the area of overlap bythe size of the selection option, resulting in the proportion of theselection area covered by the touch area 560. The selection area thathas the greatest proportion of area overlapping with the touch area 560is identified as the selection option to input to the device 100. In theexample shown in FIG. 5, although the area of overlap 515 with the firstselection area 510 is larger than the area of overlap 525 with the areaof the selectable checkbox 520, a greater proportion of area 520 iscovered by the touch area 560, and the checkbox 520 is identified inthis example. Thus, the device 100 need not select the first selectionarea 510 because the first selection area 510 has the largest area ofoverlap with the touch area 560.

The overlap values may be utilized to rate the various selection optionsand provide for selection of a selection option by identifying theselection option having the highest overlap value. In one example, thedevice determines the overlap value by dividing the area of overlap bythe size of the selection area. This determination may be based onadditional factors, such as the distance of the touch location toselection options.

A flowchart illustrating a method of determining overlap values is shownin FIG. 6. The method may be carried out by software executed, forexample, by the processor 102. Coding of software for carrying out sucha method is within the scope of a person of ordinary skill in the artgiven the present description. The method may contain additional orfewer processes than shown and/or described, and may be performed in adifferent order. Computer-readable code executable by at least oneprocessor of the portable electronic device to perform the method may bestored in a computer-readable medium, which may be a non-transitory ortangible storage medium.

When a touch is detected 610 by the touch-sensitive display 118, touchdata, including a touch location, is provided to the processor 102. Forexample, the touch location may be an x, y coordinate and may includeadditional touch information such as a time stamp. A touch area isdetermined 620 based on the received touch location. The touch area maybe determined based on the raw touch input data or by establishing avirtual touch area based at least on the touch location. The area ofoverlap between the touch area and the selection area of a selectionoption is determined 630. The selection area may be the same as ordiffer from the display area of a selection option.

An overlap value is determined 640 based on the area of overlap and thesize of the selection area in this example. This determination may be adivision operation of the selection area by the area of overlap. Aselection option is selected 650 based on the determined overlap value.This determination may involve comparing the overlap value with overlapvalues of the other selection options and selecting the overlap valuewith the largest value. For example, a threshold value for the overlapvalue may be applied before the corresponding selection option isselected.

Different selection options may be displayed in different virtuallayers, which may be referred to as z-orders, and selection options onone layer may overlap or be obscured by selection options in anotherlayer. The obscured areas may be addressed when determining the overlapvalue. “Obscuring” or “overlapping” of displayed objects refers tovirtual obscuring or virtual overlapping herein. A skilled person willunderstand that the device does not display an obscured area of aselection option.

Two selection options 710, 720 are shown displayed on thetouch-sensitive display 118 of the electronic device 100 in FIG. 7. Theselection options are shown as photos in a scrapbook application thatmay be moved around and arranged on the display. In this example, onephoto 710 is moved to a position that partially obscures the other photo720. A user touches the visible region of photo 710 in an attempt toselect the upper photo 710. In this example, a virtual touch area 740 isgenerated for the detected touch location 730 and overlaps with bothdisplayed photos 710, 720.

In this example, when determining an area of overlap with a touch area,the visible areas, not obscured areas, of a selection option areutilized. Any obscured area of a selection option may be excluded whendetermining of an area of overlap. Selection options may optionally beprocessed in order, e.g., starting at the top-most or unobscuredselection option and proceeding to the bottom-most or lowermostselection option, and determining the areas of overlap between the toucharea and each selection area, while excluding regions of a selectionoption obscured by other selection options.

In another example, areas of overlap with the touch area for selectionoptions on higher layers may be subtracted from an area of overlap withthe touch area for a selection option on a lower layer. Any previouslydetermined and optionally stored areas of overlap from higher layersthat overlap an area of overlap for a lower layer are subtracted fromthe determined area of overlap for the lower layer. The resultant areaof overlap may be utilized to determine an overlap value by dividing theresultant area of overlap by the selection area.

FIG. 8 illustrates another example of obscured selection options. Inthis example, selection option 810 is on top, 820 in the middle layer,and 830 is on the bottom. Selection option 810 partially obscures bothselection options 820 and 830, while selection option 820 partiallyobscures selection option 830. When determining overlap values for eachselection option, for example as described with reference to FIG. 7, anarea of overlap for selection option 810 may be determined first. Anarea of overlap with the touch area for selection option 820 isdetermined and may include subtracting or excluding any area obscured byselection option 810. An area of overlap with the touch area for sectionoption 830 is determined and may include subtracting any area obscuredby selection option 810 and selection option 820. Thus, obscured areasthat overlap with the touch area are not considered when determiningoverlap area with the touch area for a selection option.

In FIG. 9, selection options 910, 920, 930 are displayed in closeproximity to one another. When a touch location 950 is detected, thetouch area 960 overlaps and entirely covers two of these selectionoptions in this example. When the two selection options 910, 920 are thesame size, and the area of overlap is the same, the same overlap valueresults for both selection options. Mathematical weightings based onfactors other than area of overlap and the selection area may beutilized to determine overlap values.

One example of weighting involves considering the touch location, suchthat when the touch location is associated with a selection option, theoverlap value associated with that selection option is increased. In theexample of FIG. 9, the touch location 950 is within the area of theupper selection option 910, and the overlap value for that selectionoption may be increased, giving this selection option 910 a higheroverlap value than the lower selection option 920. For example, accurateresults may be achieved by multiplying the overlap value of theselection option that contains the touch location 450 by a factor of 2.

Other forms of weighting may be utilized. For example, weightings may beassigned based on the distance of the touch location from the centres ofthe selection options when input is targeted at the centres, rather thanedges or corners of selection options. The smaller the distance, thelarger the weighting may be.

Weighting may also be applied to selection options that are more likelyto be selected based on context. For example, some buttons or keys maybe selected more often than others and may be weighted as more commonlyselected buttons. Selection options may be determined to be morecommonly selected on a user-by-user basis or by data from all users. Oneor more selection options may be more likely to be selected as a resultof previous actions, for example “EXIT” may be more likely to beselected after a save action is performed, and the “EXIT” selectionoption may have a higher weighting than other selection options.

A flowchart illustrating a method of determining overlap values withweighting is shown in FIG. 10. The method may be carried out by softwareexecuted, for example, by the processor 102. Coding of software forcarrying out such a method is within the scope of a person of ordinaryskill in the art given the present description. The method may containadditional or fewer processes than shown and/or described, and may beperformed in a different order. Computer-readable code executable by atleast one processor of the portable electronic device to perform themethod may be stored in a computer-readable medium, which may be anon-transitory or tangible storage medium.

When a touch is detected 1005 by the touch-sensitive display 118 touchdata, including a touch location, is provided to the processor 102. Forexample, the touch location may be an x, y coordinate and may includeadditional touch information such as a time stamp. A virtual touch areais established 1010 based on the touch location, for example, bygenerating a circle of a fixed radius centred on the touch location. Theradius may be, for example, 3 mm to 15 mm, 4 mm to 6 mm, 8 mm to 10 mm,or any suitable size or range. A list of selection areas may be accessedand a selection area from the list is identified 1015 to process. Forexample, each subsequent identification of a selection area at 1015 maybe a selection area higher or lower based on ordering or layering ofdisplayed selection options, e.g., in a virtual z-direction. The area ofoverlap between the touch area and the selection area is determined1020. When a primary target is identified 1030 or the touch location isnot within the selection area at 1035, the process continues at 1050.The weighting is applied 1040 by modifying the area of overlap, forexample, by applying a factor to the area of overlap, such asmultiplying by 2. The weighting may be applied in other ways, such asadding a factor to the overlap value. The area of overlap is optionallymodified 1050 when obscured areas are present. For example, a list ofpreviously determined areas of overlap for selection areas may bestored, and one or more obscured areas may be excluded or subtractedfrom the area of overlap with the touch area. The updated area ofoverlap may be added to the list of previously determined areas ofoverlap. The overlap value is determined by dividing the overlap area bythe selection area 1060. The overlap value may be added to a stored listof overlap values. When any additional selection areas are unprocessed1070, the process continues at 1015. The selection option with thehighest overlap value is identified 1080, for example, when all theselection areas with obscured areas are processed.

The implementation described in FIG. 10 is an illustrative example ofone of many possible implementations envisioned by this disclosure.Other implementations may choose a different ordering, differentweightings, and different combinations. Modifications to the examplesmay be made utilizing techniques to improve the efficiency and reducecomputation or provide other advantages.

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedexamples are to be considered in all respects only as illustrative andnot restrictive. The scope of the disclosure is, therefore, indicated bythe appended claims rather than by the foregoing description. Allchanges that come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. A method comprising: displaying a plurality ofselection options on a touch-sensitive display; detecting a touch at atouch location on the touch-sensitive display; determining a touch areabased on the touch location; determining an overlap value based on asize of the touch area that overlaps a selection area associated with aselection option, and on a size of the selection area; identifying aselection option based on the determined overlap value.
 2. The methodaccording to claim 1, wherein the overlap value for the selection areais weighted when the touch location is within the selection area.
 3. Themethod according to claim 1, wherein an overlap value is determined foreach selection area that at least partially overlaps the touch area. 4.The method according to claim 1, wherein an overlap value is determinedfor each selection area associated with one of the plurality ofselection options.
 5. The method according to claim 1, wherein theidentified selection option has a largest overlap value.
 6. The methodaccording to claim 1, wherein the selection areas for the plurality ofselection options have different sizes.
 7. The method according to claim1, wherein a first selection area partially obscures a second selectionarea, further comprising excluding the obscured area of the secondselection area when determining an overlap value for the secondselection area.
 8. The method according to claim 1, wherein the toucharea is a virtual touch area.
 9. The method according to claim 8,wherein the virtual touch area is centered on the touch location. 10.The method according to claim 1, wherein the virtual touch area isvariable.
 11. A computer-readable storage medium havingcomputer-readable code executable by at least one processor of theportable electronic device to perform the method of claim
 1. 12. Anelectronic device comprising: a touch-sensitive display to receive atouch; at least one processor coupled to the touch-sensitive display andconfigured to: display a plurality of selection options on atouch-sensitive display; detect a touch at a touch location on thetouch-sensitive display; determine a touch area based on the touchlocation; determine an overlap value based on a size of the touch areathat overlaps a selection area associated with a selection option, andon a size of the selection area; identify a selection option based onthe determined overlap value.
 13. The electronic device according toclaim 12, wherein the at least one processor is configured to weight theoverlap value for the selection area when the touch location is withinthe selection area.
 14. The electronic device according to claim 12,wherein the at least one processor is configured to determine an overlapvalue for each selection area that at least partially overlaps the toucharea.
 15. The electronic device according to claim 12, wherein the atleast one processor is configured to determine an overlap value for eachselection area associated with one of the plurality of selectionoptions.
 16. The electronic device according to claim 12, wherein the atleast one processor is configured to identify the selection optionhaving a largest overlap value.
 17. The electronic device according toclaim 12, wherein the at least one processor is configured to displayselection options having at least two different sizes.
 18. Theelectronic device according to claim 12, wherein the touch area is avirtual touch area.
 19. The electronic device according to claim 18,wherein the virtual touch area is centered on the touch location. 20.The electronic device according to claim 12, wherein the virtual toucharea is variable.